package com.leyou.common.advice;

import com.leyou.common.exception.LyException;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * 当controller出现任何异常，就会找这个类中的@ExceptionHandler的方法处理异常。
 * @author 虎哥
 */
@ControllerAdvice
public class BaseExceptionAdvice {

    /**
     * 只处理controller抛出的RuntimeException类型的异常
     * @return 友好提示
     */
    //@ExceptionHandler(RuntimeException.class)
    @ExceptionHandler(LyException.class)
    public ResponseEntity<String> handleException(LyException e){
        // 返回状态码和友好提示，也就是异常信息
        return ResponseEntity.status(e.getStatus()).body(e.getMessage());
    }
}
